<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1、判断对象是否相同
        // Object.is();
        let obj1 = {
            name : '张三'
        }
        let obj2 = {
            // name : '张三',
            age:20
        }
        // console.log(Object.is(obj1,obj2));
    
        // === 的问题
        // console.log(NaN === NaN);//false
        // console.log(Object.is(NaN,NaN));//true

        // 2、Object.assign();合并两个或多个对象
        // 相同键名会覆盖
        // 注意:这里是浅拷贝
        // 会合并到obj1上
        // let obj3 = Object.assign(obj1,obj2)
        // console.log(obj3);
        
        // 3、Object.hasOwn
        // 和obj.hasOwnProperty('key')一样
        // console.log(Object.hasOwn(obj1,'age'));

        // 4、Object.keys();Object.values();
        // 获取对象的所有键名;键值
        // console.log(Object.keys(obj1),Object.values(obj1));

        // 5、Object.freeze()
        // 冻结一个对象,不可修改

        //6 6、Object.seal();
        // 可以把对象变成不可配置对象
        // Object.seal(obj1);
        // //删除对象属性
        // delete obj1.name
        // console.log(obj1);

        
</script>
</body>
</html>